package tsj.ai.alibaba.data.analysis.service.processing;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import tsj.ai.alibaba.data.analysis.service.datasource.DatasourceService;
import tsj.ai.alibaba.data.analysis.service.llm.LlmService;
import tsj.ai.alibaba.data.analysis.service.nl2sql.Nl2SqlService;
import tsj.ai.alibaba.data.analysis.service.schema.SchemaService;
import tsj.ai.alibaba.data.analysis.service.vectorstore.AgentVectorStoreService;

/**
 * @author taoshujian
 * @version 1.0
 * @since 2025-11-13 17:38:48
 */
@Slf4j
@Component
public class QueryProcessingServiceImpl  extends AbstractQueryProcessingService {

    private final AgentVectorStoreService vectorStoreService;

    private final SchemaService schemaService;

    private final Nl2SqlService nl2SqlService;

    public QueryProcessingServiceImpl(LlmService aiService, AgentVectorStoreService vectorStoreService,
                                      SchemaService schemaService, Nl2SqlService nl2SqlService, DatasourceService datasourceService) {
        super(aiService, datasourceService);
        this.vectorStoreService = vectorStoreService;
        this.schemaService = schemaService;
        this.nl2SqlService = nl2SqlService;
    }

    @Override
    protected AgentVectorStoreService getVectorStoreService() {
        return this.vectorStoreService;
    }

}
